'''
给定一个没有重复数字的序列，返回其所有可能的全排列。
示例:
输入: [1,2,3]
输出:
[
  [1,2,3],
  [1,3,2],
  [2,1,3],
  [2,3,1],
  [3,1,2],
  [3,2,1]
]
'''
class Solution():
    def permute(self,nums):
        '''
        全排列问题，给定一个三个数排列问题A33
        '''
        result = []
        if len(nums) <= 1:
          return [nums]
        for i ,num in enumerate(nums):
          n = nums[:i] + nums[i+1:]
          for y in self.permute(n):
            result.append([num]+y)
        return result
if __name__=="__main__":
  solu = Solution()
  print(solu.permute([1,2,3]))
